; Music of Harry & Harry - Mission Torpedo (1986) (Ere)
; Ripped by Megachur the 03/02/2009

; Need System Vectors

	write "HAR&H-MT.BIN"

music_date_rip	equ &0329
music_adr	equ &5000
first_theme	equ 0
last_theme	equ 0	; 0 -> 0

	read "music_header_v1_0.asm"

.l5004 equ $ + 4
.l5002 equ $ + 2
.l5000
	dw #0000,#0000,#0000
.l5006
	db #00
.l5007
	ld a,h
	sub d
	ret nz
	ld a,l
	sub e
	ret
;
.play_music
.l500d
;
	ld a,#04
	call #bcad
	cp #81
	jr z,l5040
	ld hl,(l5000)
	ld ix,l528a
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld a,(hl)
	ld (ix+#05),a
	inc hl
	ld de,l6022
	call l5007
	jr nz,l5037
	ld hl,l6004
.l5037
	ld (l5000),hl
	push ix
	pop hl
	call #bcaa
.l5040
	ld a,#02
	call #bcad
	cp #81
	jr z,l508a
	ld a,(l5006)
	or a
	jr nz,l508a
	ld hl,(l5002)
	ld ix,l5293
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	jr nz,l5062
	ld a,#0c
	ld c,#01
	jr l5069
.l5062
	ld a,(l6001)
	ld c,a
	ld a,(l6000)
.l5069
	ld (ix+#01),a
	ld (ix+#02),c
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld a,(hl)
	ld (ix+#07),a
	inc hl
	ld a,(hl)
	ld (ix+#08),a
	inc hl
	ld (l5002),hl
	push ix
	pop hl
	call #bcaa
.l508a
	ld a,#01
	call #bcad
	cp #81
	jr z,l50be
	ld a,(l5006)
	or a
	jr nz,l50be
	ld hl,(l5004)
	ld ix,l529c
	ld e,(hl)
	inc hl
	ld a,(hl)
	or e
	ld a,#0c
	jr z,l50aa
	ld a,#0d
.l50aa
	ld (ix+#01),a
	ld (ix+#03),e
	ld a,(hl)
	ld (ix+#04),a
	inc hl
	ld (l5004),hl
	push ix
	pop hl
	call #bcaa
.l50be
	ld hl,(l5002)
	ld de,l6322
	call l5007
	jr nz,l5111
	ld a,#02
	call #bcad
	cp #04
	jr nz,l510c
	ld a,#01
	call #bcad
	cp #04
	jr nz,l510c
	ld hl,l6022
	ld (l5002),hl
	ld hl,l6322
	ld (l5004),hl
	xor a
	ld (l5006),a
	ld hl,l6004
	ld (l5000),hl
	ld a,#41
	ld (l529c),a
	inc a
	ld (l5293),a
	ld a,#44
	ld (l528a),a
	call #bca7
	ld b,#05
.l5104
	push bc
	call l500d
	pop bc
	djnz l5104
	ret
.l510c
	ld a,#01
	ld (l5006),a
.l5111
	ld a,(l529c)
	cp #41
	ret nz
	ld a,#01
	ld (l529c),a
	inc a
	ld (l5293),a
	ld a,#04
	ld (l528a),a
	ld a,#07
	call #bcb3
	ret
;
.real_init_music
;
	xor a
	ld (l5006),a
	call #bca7
	ld hl,l6022
	ld (l5002),hl
	ld hl,l6004
	ld (l5000),hl
	ld hl,l6322
	ld (l5004),hl
	ld a,#41
	ld (l529c),a
	inc a
	ld (l5293),a
	ld a,#44
	ld (l528a),a
	ld hl,l6002
	ld a,(hl)
	ld (l52a3),a
	inc hl
	ld a,(hl)
	ld (l52a4),a
	call #bca7
	ld hl,l518e
	ld b,#08
.l5166
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbc
	pop hl
.l516e
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l516e
	pop bc
	djnz l5166
	ld hl,l521e
	ld b,#06
.l517c
	push bc
	ld a,(hl)
	inc hl
	push hl
	call #bcbf
	pop hl
.l5184
	ld a,(hl)
	cp #80
	inc hl
	jr nz,l5184
	pop bc
	djnz l517c
	ret
.l518e
	db #0b,#02,#01,#10,#01,#10,#ff,#01
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#0c,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#0d,#04,#01,#0e
	db #04,#07,#fe,#01,#01,#09,#02,#09
	db #ff,#01,#00,#00,#00,#80,#01,#03
	db #01,#09,#01,#05,#00,#02,#01,#f7
	db #02,#00,#00,#00,#00,#00,#00,#80
	db #02,#01,#10,#ff,#07,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#03,#01,#10,#ff,#03,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#04,#01,#04,#fc
	db #18,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#80,#05,#03
	db #05,#03,#01,#01,#00,#14,#0f,#ff
	db #02,#00,#00,#00,#00,#00,#00,#80
.l521e
	db #01,#82,#01,#03,#01,#01,#fd,#01
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#02,#82,#01,#05,#05,#01
	db #fb,#05,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#80,#03,#83,#01,#02
	db #01,#01,#fc,#01,#01,#02,#01,#00
	db #00,#00,#00,#00,#00,#80,#04,#83
	db #02,#01,#01,#04,#ff,#01,#02,#01
	db #01,#00,#00,#00,#00,#00,#00,#80
	db #05,#82,#04,#01,#03,#04,#ff,#03
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#80,#06,#02,#00,#00,#3d,#01
	db #05,#04,#00,#00,#00,#00,#00,#00
.l528a equ $ + 4
	db #00,#00,#00,#80,#44,#0b,#00,#00
.l5293 equ $ + 5
	db #00,#00,#00,#00,#00,#42,#0c,#01
.l529c equ $ + 6
	db #00,#00,#00,#00,#00,#00,#41,#0c
.l52a4 equ $ + 6
.l52a3 equ $ + 5
	db #00,#00,#00,#00,#00,#00,#00,#00
	;
	; data (nops) deleted
	;
.l6004 equ $ + 4
.l6002 equ $ + 2
.l6001 equ $ + 1
.l6000
	db #01,#01,#14,#00,#28,#00,#0a,#28
	db #00,#02,#14,#00,#0a,#14,#00,#0a
	db #3c,#00,#02,#14,#00,#0a,#14,#00
	db #02,#14,#00,#0a,#28,#00,#0a,#28
.l6022 equ $ + 2
	db #00,#02,#de,#01,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#78,#00,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#78,#00,#14,#00,#ee,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#5e,#00,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#5e,#00,#14,#00,#be,#00
	db #14,#00,#66,#01,#14,#00,#b2,#00
	db #14,#00,#5a,#00,#14,#00,#b2,#00
	db #14,#00,#66,#01,#14,#00,#b2,#00
	db #14,#00,#5a,#00,#14,#00,#b2,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#6a,#00,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#6a,#00,#14,#00,#d4,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#78,#00,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#78,#00,#14,#00,#ee,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#5e,#00,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#5e,#00,#14,#00,#be,#00
	db #14,#00,#66,#01,#14,#00,#b2,#00
	db #14,#00,#5a,#00,#14,#00,#b2,#00
	db #14,#00,#66,#01,#14,#00,#b2,#00
	db #14,#00,#5a,#00,#14,#00,#b2,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#6a,#00,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#6a,#00,#14,#00,#d4,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#66,#01,#14,#00,#1c,#01
	db #14,#00,#ee,#00,#14,#00,#1c,#01
	db #14,#00,#66,#01,#14,#00,#1c,#01
	db #14,#00,#ee,#00,#14,#00,#1c,#01
	db #14,#00,#1c,#01,#14,#00,#ee,#00
	db #14,#00,#be,#00,#14,#00,#ee,#00
	db #14,#00,#1c,#01,#14,#00,#ee,#00
	db #14,#00,#be,#00,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#66,#01
	db #14,#00,#1c,#01,#14,#00,#66,#01
	db #14,#00,#aa,#01,#14,#00,#66,#01
	db #14,#00,#1c,#01,#14,#00,#66,#01
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#de,#01,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#7c,#01,#14,#00,#be,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#aa,#01,#14,#00,#d4,#00
	db #14,#00,#66,#01,#14,#00,#1c,#01
	db #14,#00,#ee,#00,#14,#00,#1c,#01
	db #14,#00,#66,#01,#14,#00,#1c,#01
	db #14,#00,#ee,#00,#14,#00,#1c,#01
	db #14,#00,#1c,#01,#14,#00,#ee,#00
	db #14,#00,#be,#00,#14,#00,#ee,#00
	db #14,#00,#1c,#01,#14,#00,#ee,#00
	db #14,#00,#be,#00,#14,#00,#ee,#00
	db #14,#00,#aa,#01,#14,#00,#66,#01
	db #14,#00,#1c,#01,#14,#00,#66,#01
	db #14,#00,#aa,#01,#14,#00,#66,#01
	db #14,#00,#1c,#01,#14,#00,#66,#01
.l6322 equ $ + 2
	db #14,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#00,#00,#00,#00,#00,#00
	db #00,#00,#50,#00,#00,#00,#9f,#00
	db #be,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#50,#00,#00,#00,#9f,#00
	db #be,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#00,#00,#00,#00,#a0,#00
	db #78,#00,#ee,#00,#3e,#01,#7c,#01
	db #de,#01,#00,#00,#00,#00,#be,#00
	db #7e,#00,#d4,#00,#fe,#00,#3e,#01
	db #7c,#01,#00,#00,#00,#00,#78,#00
	db #5a,#00,#b2,#00,#ee,#00,#1c,#01
	db #66,#01,#00,#00,#00,#00,#d4,#00
	db #8e,#00,#ee,#00,#1c,#01,#66,#01
	db #aa,#01,#50,#00,#00,#00,#9f,#00
	db #be,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#5f,#00,#00,#00,#7f,#00
	db #9f,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#00,#00,#00,#00,#a0,#00
	db #78,#00,#ee,#00,#3e,#01,#7c,#01
	db #de,#01,#00,#00,#00,#00,#be,#00
	db #7e,#00,#d4,#00,#fe,#00,#3e,#01
	db #7c,#01,#00,#00,#00,#00,#78,#00
	db #5a,#00,#b2,#00,#ee,#00,#1c,#01
	db #66,#01,#00,#00,#00,#00,#d4,#00
	db #8e,#00,#ee,#00,#1c,#01,#66,#01
	db #aa,#01,#50,#00,#00,#00,#9f,#00
	db #be,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#5f,#00,#00,#00,#7f,#00
	db #9f,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#b3,#00,#77,#00,#b3,#00
	db #59,#00,#b3,#00,#47,#00,#3c,#00
	db #3c,#00,#8e,#00,#5f,#00,#8e,#00
	db #50,#00,#8e,#00,#47,#00,#47,#00
	db #47,#00,#d5,#00,#8e,#00,#d5,#00
	db #77,#00,#d5,#00,#6a,#00,#6a,#00
	db #6a,#00,#50,#00,#00,#00,#9f,#00
	db #be,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#5f,#00,#00,#00,#7f,#00
	db #9f,#00,#6a,#00,#77,#00,#47,#00
	db #d5,#00,#b3,#00,#3c,#00,#8e,#00
	db #2d,#00,#77,#00,#3c,#00,#59,#00
	db #47,#00,#8e,#00,#47,#00,#77,#00
	db #2f,#00,#5f,#00,#3c,#00,#50,#00
	db #47,#00,#d5,#00,#6a,#00,#b3,#00
	db #47,#00,#8e,#00,#59,#00,#77,#00
	db #6a,#00,#00
;
.init_music	; added by Megachur
;
	call real_init_music
	ld hl,evt_bloc
	ld bc,#8100
	ld de,play_music
	jp #bcd7	; call play_music every CRT interrupt
evt_bloc
	db #00,#00,#00,#00,#00,#00
	db #00,#00,#00
;
.game_name
	db "Harry & Harry - Mission Torpedo",0
.game_year
	db "1986",0
.game_publisher
	db "Ere",0
.music_author
	db "",0
.music_comment
	db "",0

	read "music_end_v1_0.asm"
